package com.example.mapper;
import com.example.pojo.Emp;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDate;
import java.util.List;

@Mapper //在运行时会自动创建该接口的实现类（代理对象），并将该对象交给IOC容器管理
public interface EmpMapper{
   /* *//**
     * 查询员工总数
     * @return
     *//*
    @Select("select count(*) from emp")
    public Long count();

    *//**
     * 分页查询，获取数据列表
     * @param start 起始索引
     * @param pageSize 每页显示的数量
     * @return
     *//*
    @Select("select * from emp limit #{start}, #{pageSize} ")
    public List<Emp> page(Integer start, Integer pageSize);*/

    //利用pagehelper插件进行分页查询

    /**
     * 员工信息查询
     * @return
     */
    //@Select("select * from emp")
    //动态sql查询
    public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);

    /**
     * 批量删除员工
     * @param ids
     */
    void delete(List<Integer> ids);

    /**
     * 新增员工
     */
    @Insert("insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, update_time) " +
            "VALUES (#{username},#{name},#{gender},#{image},#{job},#{entryDate},#{deptId},#{createTime},#{updateTime})")
    void insert(Emp emp);
}
